package com.tyqx.hashchainbackend.service;

import com.tyqx.hashchainbean.module.TrackUser;
import com.tyqx.hashchainbean.vo.SysUpdaUserPwdVO;
import hashchainutil.common.BackendPage;
import hashchainutil.exception.HashchainException;

import java.util.List;
import java.util.Map;

public interface TrackUserService {
    public TrackUser getTrackUserByUserName(String userName);

    public Integer register(TrackUser trackUser) throws Exception;

    public TrackUser select(String userName);

    public List<TrackUser> getUidBySkey(String skey);

    public List<TrackUser> getIdByCompName(String compName);

    public List<TrackUser> getCompNameById(String uid);

    public Integer updateCompName(String uid,String name,String phone,String businessScope);


    public TrackUser getById(Long userId) throws Exception;

    public TrackUser getByUserCode(String userCode) throws Exception;

    public List<TrackUser> getListByMap(Map<String, Object> param) throws Exception;

    public Integer getCountByMap(Map<String, Object> param) throws Exception;

    public Integer save(TrackUser sysUserSaveVO) throws HashchainException;

    /*public Integer modify(SysUserModifyVO sysUserModifyVO) throws HashchainException;*/

    public Integer removeById(Long userId) throws Exception;

    public BackendPage<List<TrackUser>> queryPageByMap(Map<String, Object> param, Integer pageNo, Integer pageSize) throws Exception;

    //修改用户状态
    public Integer updateActivate(Integer userActivate, Long userId);


    public Integer getUserModify(TrackUser trackUser) throws Exception;

    //更改用户密码
    public Integer updateUserPwdById(SysUpdaUserPwdVO sysUpdaUserPwdVO);

    //sysUser主页面删除
    public Integer delActivate(Integer userAcivate, Long userId);
}
